import type {
  EChartsElementEvent,
  EChartsOption,
  EchartsPieSeriesOption,
  PieChartDataItem,
} from '../../types/interfaces'

export interface PieChartProps {
  /**
   * 图表容器ID
   */
  id: string
  /**
   * 图表数据
   */
  data: PieChartDataItem
  /**
   * 图表标题
   */
  title?: string
  /**
   * 饼图半径 [内半径, 外半径]
   */
  radius?: [string, string]
  /**
   * 图表高度
   */
  height?: string
  /**
   * 图表宽度
   */
  width?: string
  /**
   * 系列配置
   */
  seriesOptions?: EchartsPieSeriesOption
  /**
   * 自定义ECharts配置
   */
  options?: EChartsOption
  /**
   * 是否渲染空数据图表
   */
  renderEmpty?: boolean
  /**
   * 点击事件回调
   */
  onClick?: (params: ChartClickParams, event: EChartsElementEvent | undefined) => void
}

export const DEFAULT_PIE_CHART_PROPS: Partial<PieChartProps> = {
  height: '300px',
  width: '100%',
  radius: ['40%', '70%'],
  renderEmpty: true,
}
